package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_index_basic")
public class FIndexBasic {
    @Id
    private Long tid;

    /**
     * TS代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 简称
     */
    private String name;

    /**
     * 指数全称
     */
    private String fullname;

    /**
     * 市场
     */
    private String market;

    /**
     * 发布方
     */
    private String publisher;

    /**
     * 指数风格
     */
    @Column(name = "index_type")
    private String indexType;

    /**
     * 指数类别
     */
    private String category;

    /**
     * 基期
     */
    @Column(name = "base_date")
    private String baseDate;

    /**
     * 基点
     */
    @Column(name = "base_point")
    private Float basePoint;

    /**
     * 发布日期
     */
    @Column(name = "list_date")
    private String listDate;

    /**
     * 加权方式
     */
    @Column(name = "weight_rule")
    private String weightRule;

    /**
     * 描述
     */
    private String desc;

    /**
     * 终止日期
     */
    @Column(name = "exp_date")
    private String expDate;

    public FIndexBasic(Long tid, String tsCode, String name, String fullname, String market, String publisher, String indexType, String category, String baseDate, Float basePoint, String listDate, String weightRule, String desc, String expDate) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.name = name;
        this.fullname = fullname;
        this.market = market;
        this.publisher = publisher;
        this.indexType = indexType;
        this.category = category;
        this.baseDate = baseDate;
        this.basePoint = basePoint;
        this.listDate = listDate;
        this.weightRule = weightRule;
        this.desc = desc;
        this.expDate = expDate;
    }

    public FIndexBasic() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS代码
     *
     * @return ts_code - TS代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS代码
     *
     * @param tsCode TS代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取简称
     *
     * @return name - 简称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置简称
     *
     * @param name 简称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取指数全称
     *
     * @return fullname - 指数全称
     */
    public String getFullname() {
        return fullname;
    }

    /**
     * 设置指数全称
     *
     * @param fullname 指数全称
     */
    public void setFullname(String fullname) {
        this.fullname = fullname;
    }

    /**
     * 获取市场
     *
     * @return market - 市场
     */
    public String getMarket() {
        return market;
    }

    /**
     * 设置市场
     *
     * @param market 市场
     */
    public void setMarket(String market) {
        this.market = market;
    }

    /**
     * 获取发布方
     *
     * @return publisher - 发布方
     */
    public String getPublisher() {
        return publisher;
    }

    /**
     * 设置发布方
     *
     * @param publisher 发布方
     */
    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }

    /**
     * 获取指数风格
     *
     * @return index_type - 指数风格
     */
    public String getIndexType() {
        return indexType;
    }

    /**
     * 设置指数风格
     *
     * @param indexType 指数风格
     */
    public void setIndexType(String indexType) {
        this.indexType = indexType;
    }

    /**
     * 获取指数类别
     *
     * @return category - 指数类别
     */
    public String getCategory() {
        return category;
    }

    /**
     * 设置指数类别
     *
     * @param category 指数类别
     */
    public void setCategory(String category) {
        this.category = category;
    }

    /**
     * 获取基期
     *
     * @return base_date - 基期
     */
    public String getBaseDate() {
        return baseDate;
    }

    /**
     * 设置基期
     *
     * @param baseDate 基期
     */
    public void setBaseDate(String baseDate) {
        this.baseDate = baseDate;
    }

    /**
     * 获取基点
     *
     * @return base_point - 基点
     */
    public Float getBasePoint() {
        return basePoint;
    }

    /**
     * 设置基点
     *
     * @param basePoint 基点
     */
    public void setBasePoint(Float basePoint) {
        this.basePoint = basePoint;
    }

    /**
     * 获取发布日期
     *
     * @return list_date - 发布日期
     */
    public String getListDate() {
        return listDate;
    }

    /**
     * 设置发布日期
     *
     * @param listDate 发布日期
     */
    public void setListDate(String listDate) {
        this.listDate = listDate;
    }

    /**
     * 获取加权方式
     *
     * @return weight_rule - 加权方式
     */
    public String getWeightRule() {
        return weightRule;
    }

    /**
     * 设置加权方式
     *
     * @param weightRule 加权方式
     */
    public void setWeightRule(String weightRule) {
        this.weightRule = weightRule;
    }

    /**
     * 获取描述
     *
     * @return desc - 描述
     */
    public String getDesc() {
        return desc;
    }

    /**
     * 设置描述
     *
     * @param desc 描述
     */
    public void setDesc(String desc) {
        this.desc = desc;
    }

    /**
     * 获取终止日期
     *
     * @return exp_date - 终止日期
     */
    public String getExpDate() {
        return expDate;
    }

    /**
     * 设置终止日期
     *
     * @param expDate 终止日期
     */
    public void setExpDate(String expDate) {
        this.expDate = expDate;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", name=").append(name);
        sb.append(", fullname=").append(fullname);
        sb.append(", market=").append(market);
        sb.append(", publisher=").append(publisher);
        sb.append(", indexType=").append(indexType);
        sb.append(", category=").append(category);
        sb.append(", baseDate=").append(baseDate);
        sb.append(", basePoint=").append(basePoint);
        sb.append(", listDate=").append(listDate);
        sb.append(", weightRule=").append(weightRule);
        sb.append(", desc=").append(desc);
        sb.append(", expDate=").append(expDate);
        sb.append("]");
        return sb.toString();
    }
}